/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.sql.SQLException;
import java.util.Iterator;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import laboratorio1.Conexion;

public class Producto {
    String codigoProducto,nombre,descripcion,codigoCategoria;
    float precio;
    Conexion conexion = new Conexion();

    public String getCodigoCategoria() {
        return codigoCategoria;
    }

    public void setCodigoCategoria(String codigoCategoria) {
        this.codigoCategoria = codigoCategoria;
    }

    public String getCodigoProducto() {
        return codigoProducto;
    }

    public void setCodigoProducto(String codigoProducto) {
        this.codigoProducto = codigoProducto;
    }

    public Conexion getConexion() {
        return conexion;
    }

    public void setConexion(Conexion conexion) {
        this.conexion = conexion;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public float getPrecio() {
        return precio;
    }

    public void setPrecio(float precio) {
        this.precio = precio;
    }


    public boolean insertar(String codigo, String Nombre, String Descripcion,String codigoCategoria,String Precio,Vector<Ingrediente> vectorIngrediente)
    {
        try {
            String tira = " insert into producto (codigoProducto,nombre,descripcion,codigoCategoria,precio) values ('"+codigo+"','"+Nombre+"','"+Descripcion+"','"+codigoCategoria+"',"+Precio+")";
            conexion.ejecutarquery(tira);

            for (Iterator<Ingrediente> it = vectorIngrediente.iterator(); it.hasNext();) {
                Ingrediente ingrediente = it.next();
                System.out.println("el numero float:" + ingrediente.getCantidad());
                String tira3 = "SELECT COUNT(DISTINCT codigoixp) FROM ingredientes_producto";
                conexion.ejecutarquery(tira3);
                System.out.println("codigo ingredientes");
                System.out.println(ingrediente.getCodigo());

                int codigoixp=0;

                while (conexion.getRs().next())
                {
                if(conexion.getRs().getInt(1)==0)
                {
                codigoixp =1;
                }
                else
                {
                codigoixp =conexion.getRs().getInt(1)+1;
                }
                }
                String tira2= " insert into ingredientes_producto(codigoixp,cantidadixp,codigoingrediente,codigoProducto) values ('"+codigoixp+"',"+ingrediente.getCantidad()+",'"+ingrediente.getCodigo()+"','"+codigo+"')";
                conexion.ejecutarquery(tira2);
            }
            //conexion.getRs().next();
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Producto.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }

    public Vector<Producto> catalogo(){
    Vector<Producto> vectorProductos = new Vector<Producto>();
    String tira="select * from producto";
    conexion.ejecutarquery(tira);
    try{

        while (conexion.getRs().next()){
            Producto  producto = new Producto();
            producto.setCodigoProducto(conexion.getRs().getString("codigoProducto"));
            producto.setNombre(conexion.getRs().getString("nombre"));
            producto.setDescripcion(conexion.getRs().getString("Descripcion"));
            producto.setCodigoCategoria(conexion.getRs().getString("codigoCategoria"));
            producto.setPrecio(conexion.getRs().getFloat("precio"));
            vectorProductos.add(producto);
         }
    } catch (SQLException ex) {
        Logger.getLogger(Producto.class.getName()).log(Level.SEVERE, null, ex);
    }
    return vectorProductos;
  }

}